package com.linln.modules.wtpshop.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.linln.modules.shopsService.domain.Shops;
import org.apache.ibatis.annotations.Param;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;
import java.util.Map;

/**
 * @author zsc
 * @date 2020/11/19
 */
public interface ShopService  {

    /**
     * 获取最近的5家店铺
     *
     * @param lon 经度
     * @param lat 纬度
     * @return 店铺列表
     */
    Map<String, Object> getFiveNearbyShops(String lon, String lat);

    /**
     * 获取附近店铺
     *
     * @param lon 经度
     * @param lat 纬度
     * @return 店铺列表
     */
    Map<String, Object> getNearbyShops(String lon, String lat, int pageNum, int limit,Integer areaId,Integer shopType,Integer reserve);



    /**
     * 根据店铺评分排序 高的在前
     *
     * @param lon 经度
     * @param lat 纬度
     * @return 店铺列表
     */
    Map<String, Object> getShopOrderScore(String lon, String lat, int pageNum, int limit,Integer areaId,Integer shopType,Integer reserve);

    /**
     *
     *
     * @param lon 经度
     * @param lat 纬度
     * @return 店铺列表
     */
    Map<String, Object> getShopsByShopType(String lon, String lat, int pageNum, int limit,Integer areaId,Integer shopType);

    /**
     *
     * @param lon 经度
     * @param lat 纬度
     * @param pageNum 第几页
     * @param limit 每页多少条数据
     * @param areaId 地区id
     * @param shopName 店铺名称模糊查询
     * @return 店铺列表
     */
    Map<String, Object> getShopsByShopName(String lon, String lat, int pageNum, int limit,Integer areaId,String shopName);




    //通过店铺id获取店铺的所有类型名称
    List<Map<String,String>> selectShopServiceType(String[] shopTypes);



    //更新店铺地址 详细地址 和经度纬度
    boolean updateShopAddress(Shops shop,long userId);


    //更新店铺营业状态
    boolean updateOpeningStatus(String shopId,Integer status);

    //更新店铺评分
    boolean updateShopScore(String shopId,Double score);

}
